Capacitive touch sensing is widely used as the human interface for a plurality of electronic devices. Capacitive touch sensing is used in a variety of ways including proximity sensors, measuring position or displacement, humidity sensors, and computer track pads. Many of the devices that use capacitive sensing are mobile devices that have a limited amount of space for physical hardware.
Because there is a limited amount of space on mobile electronic devices, it is important to minimize the amount of space each component occupies. Conventional capacitive touch sensors require an input/output pin for each pin or pin of buttons used in a touch sensor. For larger or complex devices that require many buttons for controlling a device, the number of pins and consequently the area of the board that the pins are located on, increases very quickly.
FIG. 1 illustrates a prior art touch sensor 100.
Touch sensor 100 includes an input/output pin 102, a pin 104, a pin 106, a pin 108, a pin 110, a button 112, a button 114, a button 116, a button 118, a button 120, a button 122 and a controller 124.
Pin 102, pin 104, pin 106, pin 108, and pin 110 are operable to be set to either transmit mode or receive mode by controller 124.
Button 112 is arranged at the intersection of pin 102 and pin 108. Button 114 is arranged at the intersection of pin 104 and pin 108. Button 116 is arranged at the intersection of pin 106 and pin 108. Button 118 is arranged at the intersection of pin 102 and pin 110. Button 120 is arranged at the intersection of pin 104 and pin 110. Button 122 is arranged at the intersection of pin 106 and pin 110.
Each of button 112, button 114, button 116, button 118, button 120, and button 122 are operable to change capacitance when touched by a user.
In operation, controller 124 will set pin 102, pin 104, and pin 106 to transmit mode and each of pin 108 and pin 110 to receive mode. Once controller 124 has set each pin to the correct mode, it will transmit a signal via pin 102, pin 104, and pin 106. In this example, a signal is a voltage that is transmitted for a pre-determined amount of time. With the voltage and duration of the amount of time known, it can be determined if the signal has been modified when received.
The signals are transmitted between the vertically arranged pins and the horizontally arranged pins by one of button 112, button 114, button 116, button 118, button 120, and button 122. Each button is composed of two separate conductors that are different voltages. One of the conductors is at the voltage of the signal transmitted by controller 124 while the other is at ground; this difference in voltage creates a capacitance between the two conductors. The signal is transferred from the conductor with the higher voltage to the conductor with the lower voltage, where it then travels to a pin set to receive mode, which completes the circuit. In this manner the signal transmitted through pin 102, pin 104, and pin 106 can be received by pin 108 and pin 110.
When a user touches one of button 112, button 114, button 116, button 118, button 120, or button 122, the electric field of the two conductors is modified, this modification changes the capacitance between them. Once the capacitance has been modified the signal transmitted between the two conductors inside of each of button 112, button 114, button 116, button 118, button 120, and button 122 is modified as well.
Controller 124 will then wait for the signals to be received by pin 108 and pin 110. After pin 108 and pin 110 receive the signals transmitted by each of pin 102, pin 104, and pin 106, they send the signals to back to controller 124. After receiving the signals, controller 124 will analyze each of the signals to determine if a touch has been made by a user. Since a user has not touched any of button 112, button 114, button 116, button 118, button 120, or button 122 the signals received are unmodified and controller 124 determines that at touch has not been made. Controller 124 continues to transmit signals via pin 102, pin 104, and pin 106 and analyzing the signals received by pin 108 and pin 110 to determine if a touch has been made.
At some time later, a user will touch button 118 and controller 124 will transmit a signal via pin 102, pin 104, and pin 106. The signals received by pin 108 and pin 110 are then analyzed by controller 124. Controller 124 finds that one of the signals received has been modified by a touch input. Controller 124 then determines to which of button 112, button 114, button 116, button 118, button 120, or button 122 the modified signal corresponds. After, controller 124 will continue transmitting and analyzing signals as described above until another touch input has been detected.
FIG. 2 illustrates a prior art button arrangement 200.
As illustrated in the figure, button arrangement 200 includes a pin 202, a pin 204, a pin 206, a pin 208, a pin 210, a pin 212, a pin 214, and a pin 216.
Pin 202, pin 204, pin 206, and pin 208 are arranged such that their lines each cross the lines of pin 210, pin 212, pin 214, and pin 216 in button arrangement 200. Pin 210, pin 212, pin 214, and pin 216 are arranged such that each of their lines cross the lines of pin 202, pin 204, pin 206, and pin 208. A button is disposed at the intersection of any two lines in button arrangement 200.
In operation, an electronic device manufacturer will want to produce a capacitive touch sensor with a certain number of buttons. In this example, a manufacturer wants to create a button arrangement such that the total number of buttons is eight (8). In order to create a total of eight buttons, the total number of buttons must be a multiple of the number of pins in a column and the number of pins in a row.
Creating an arrangement with 8 buttons requires either 2 column pins and 4 row pins or 4 column pins and 2 row pins. In this non-limiting example the arrangement will be created using 4 row pins. Using pin 202, pin 204, pin 206, and pin 208 and any two of pin 210, pin 212, pin 214, or pin 216 creates a total of 8 buttons. Suppose pin 210 and pin 212 are chosen, the line of pin 210 intersects with the lines of each of pin 202, pin 204, pin 206, and pin 208 to create 4 buttons and the line of pin 212 also intersects with the lines of each of pin 202, pin 204, pin 206, and pin 208 to create an additional 4 buttons.
In another example, a manufacturer may want to create a button arrangement that contains a total of sixteen (16) buttons. Sixteen is a multiple of several different combinations, namely 1×16, 2×8, and 4×4. Since space and resources need to be conserved the row pins and column pins are chosen such that the total number of pins is minimized, in this example a 4×4 arrangement only uses eight pins.
The lines of each of pin 210, pin 212, pin 214, and pin 216 intersect with the lines of each of pin 202, pin 204, pin 206, and pin 208. Each line of pin 210, pin 212, pin 214, and pin 216 contains four (4) buttons each, for a total of sixteen (16) buttons in the arrangement.
FIG. 3 illustrates a prior art small slider 300.
As illustrated in the figure, small slider 300 includes a button 302, a button 304, a button 306, a pin 308, a pin 310, a pin 312, a pin 314, a pin 316, a pin 318, and a controller 320.
Button 302 is disposed at the intersection of the lines of pin 308 and pin 314. Button 304 is disposed at the intersection of the lines of pin 310 and pin 316. Button 306 is disposed at the intersection of the lines of pin 312 and pin 318.
Controller 320 is arranged such that it is operable to set each of pin 308, pin 310, pin 312, pin 314, pin 316, and pin 318 to either transmit mode or receive mode.
In today's electronic devices, it may be more practical to use a slider rather than a button. Sliders allow more precise control than on or off as a button does. Non-limiting examples of a slider use includes volume control, scroll bars, or zooming in or out. Creating a slider interface is more complex than a simple button due to the need for locating and tracking of the input from a user.
The operation of slider 300 is similar to that of touch sensor system 100. Controller 320 will set pin 308 to transmit mode and each of pin 310, pin 312, pin 314, pin 316, and pin 318 to received mode. Once the pins have been set to the correct mode, controller 320 will transmit a signal, via pin 308, and then analyze the signal received by each of pin 310, pin 312, pin 314, pin 316, and pin 318. Once the signals have been analyzed, controller 320 will continue setting a new pin to transmit mode and all other pins to receive mode in order to detect a touch as described above in FIG. 1.
At some later time a user will place their finger over button 302 in order to scroll the touch screen to the right and pin 308 has been set to transmit mode, while all other pins are set to receive mode. Controller 320 will transmit a signal, via the line connected to pin 308 and then analyze the signals received by each of pin 310, pin 312, pin 314, pin 316, and pin 318.
Controller 320 determines that there has been a change in the signal received by pin 314. Since the signal was output via pin 308 and a modified signal was received via pin 314, controller 320 can determine that a user has touched button 302.
Next a user will drag their finger to the point where they want to stop scrolling, which in this example, is between button 304 and button 306. Simultaneously, having analyzed all the signals received via pin 310, pin 312, pin 314, pin 316, and pin 318, controller 320 will set pin 310 to transmit mode and all other pins to receive mode. After each pin has been set to the correct mode, controller 320 will transmit a signal, via pin 310, and then analyze the signals received by each of pin 308, pin 312, pin 314, pin 316, and pin 318.
Controller 320 determines that the signal received by pin 318 has been modified. Since the signal was output via pin 310 and a modified signal was received via pin 318, controller 320 can determine that a user has touched in between button 304 and button 306. At this point, controller 320 can send instructions to scroll by an amount proportional to the distance between button 302 and the midpoint between button 304 and button 306.
In some cases a small slider may not be sufficient and a large slider must be implemented. A non-limiting example of such a case maybe, a full screen length scroll bar, a zoom function, or a fine tune controller. Suppose a full screen length scroll bar is needed, and that a total of 16 buttons needs to be used to create a scroll bar that spans the length of the screen.
Using the prior art method described above in FIG. 3, to create a scroll bar with 16 buttons would require 32 pins. With limited space and power resources, a total of 32 pins is too many to be used in a capacitive touch sensing system. Hence, an alternative method of creating a slider must be used. A method of creating a large slider will now be described with reference to FIG. 4.
FIG. 4 illustrates a prior art large slider 400.
As illustrated in the figure, large slider 400 includes a button 402, a button 404, a button 406, a button 408, a button 410, a button 412, a button 414, a button 416, a controller 418, a signal strength indicated by arrow 420, and a signal strength indicated by arrow 422.
Button 402, button 404, button 406, button 408, button 410, button 412, button 414, and button 416 are arranged such that they are each connected to two separate pins. Button 402, button 404, button 406, button 408, button 410, button 412, button 414, and button 416 are additionally arranged such that the buttons on either side have different pins.
Controller 418 is operable to receive signals from the pins of button 402, button 404, button 406, button 408, button 410, button 412, button 414, and button 416.
The operation of larger slider 400 is similar to that of small slider 300. Controller 418 will transmit a signal through one of the pins connected to button 402. The signal received by each pin of button 404, button 406, button 408, button 410, button 412, button 414, and button 416 is then sent to controller 418. Controller 418 then analyzes each signal to detect if a touch has been made.
At some later time a user will want to adjust the volume of a device and will touch a button, in this example the user touches button 408, which creates a signal strength shown by arrow 420. Simultaneously, controller 418 transmits a signal, via a pin of button 402, and the signals received by each pin of button 404, button 406, button 408, button 410, button 412, button 414, and button 416 are then analyzed by controller 418.
Controller 418 determines that multiple signals received have been modified by a user touch input. Since each of button 402, button 404, button 406, button 408, button 410, button 412, button 414, and button 416 are used twice, and both have two corresponding pins, controller 418 cannot determine which button the modified signal came from without post-processing.
After receiving multiple modified signals, controller 418 analyzes the strength and modification of each signal it received. Controller 418 determines that the strongest signals received were from the pins of button 408. Since button 408 is used twice in the slider, controller 418 must determine which one the user touched.
Controller 418 will next determine from which buttons the next strongest signals came from. Controller 418 determines that the next strongest signals came from button 406, button 410, and button 412 as shown by arrow 420. Controller 418 next determines that the weakest signals came from the pins of button 402, button 404, button 414, and button 416 as shown by arrow 422.
After analyzing the signals, controller 418 analyzes the placement of the signal strengths. Controller 418 determines that the strongest signal came from button 408, and the next strongest signals came from button 406, button 410, and button 412. From this information, controller 418 can determine that a user made a touch input at point 424 and not point 426, because of the placement of the buttons relative to each other.
If the user had made a touch input at point 426, the strongest signal would still come from the pins of button 408 but the next strongest signals would have come from the pins of button 414 and button 404. Since the location of button 404 and button 414 are far enough away from button 408 at point 424, their signals were weak which allowed controller 418 to rule out a touch input at point 426.
The problem with the conventional system and method of capacitive touch sensing is that for each additional button, a new pin(s) is needed. In order to create a large array of buttons, a large number of pins is needed to support the array. The increase in the number of pins needed uses limited space and resources of the capacitive touch sensing device.
Another problem with the conventional system and method of capacitive touch sensing is that creating a small slider requires two pins per button in the slider. Due to the limited space and resources, using this method it is only possible to create small sliders. It is possible to double the number of buttons used in a slider with a set number of pins, but the slider then requires post processing or additional software in order to detect user inputs.
What is needed is a system and method of increasing the number of buttons that each pin can support in a button array and slider.